package com.qys.erp.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 产品管理对象 erp_product
 * 
 * @author qys
 * @date 2021-08-21
 */
public class Product extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 产品ID */
    private Long proId;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String proName;

    /** 分类ID */
    @Excel(name = "分类ID")
    private Long categoryId;

    /** 产品编码 */
    @Excel(name = "产品编码")
    private String proSn;

    /** 客户ID */
    @Excel(name = "客户ID")
    private Long customerId;

    /** 库位ID */
    @Excel(name = "库位ID")
    private Long regionId;

    /** 供应商ID */
    @Excel(name = "供应商ID")
    private Long supplierId;

    /** 订单ID */
    @Excel(name = "订单ID")
    private Long orderId;

    /** 产品数量 */
    @Excel(name = "产品数量")
    private Integer proNumber;

    /** 产品价格 */
    @Excel(name = "产品价格")
    private BigDecimal proPrice;

    /** 产品重量 */
    @Excel(name = "产品重量")
    private Integer proWeight;

    /** 产品规格 */
    @Excel(name = "产品规格")
    private String proSpec;

    /** 生成日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生成日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date proDate;

    /** 产品种类 */
    @Excel(name = "产品种类")
    private String proType;

    /** 产品描述 */
    @Excel(name = "产品描述")
    private String proDescription;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String proStatus;

    private Object category;

    private Object region;



    public void setProId(Long proId)
    {
        this.proId = proId;
    }

    public Long getProId() 
    {
        return proId;
    }
    public void setProName(String proName) 
    {
        this.proName = proName;
    }

    public String getProName() 
    {
        return proName;
    }
    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }
    public void setProSn(String proSn) 
    {
        this.proSn = proSn;
    }

    public String getProSn() 
    {
        return proSn;
    }
    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }
    public void setRegionId(Long regionId) 
    {
        this.regionId = regionId;
    }

    public Long getRegionId() 
    {
        return regionId;
    }
    public void setSupplierId(Long supplierId) 
    {
        this.supplierId = supplierId;
    }

    public Long getSupplierId() 
    {
        return supplierId;
    }
    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setProNumber(Integer proNumber) 
    {
        this.proNumber = proNumber;
    }

    public Integer getProNumber() 
    {
        return proNumber;
    }
    public void setProPrice(BigDecimal proPrice) 
    {
        this.proPrice = proPrice;
    }

    public BigDecimal getProPrice() 
    {
        return proPrice;
    }
    public void setProWeight(Integer proWeight) 
    {
        this.proWeight = proWeight;
    }

    public Integer getProWeight() 
    {
        return proWeight;
    }
    public void setProSpec(String proSpec) 
    {
        this.proSpec = proSpec;
    }

    public String getProSpec() 
    {
        return proSpec;
    }
    public void setProDate(Date proDate) 
    {
        this.proDate = proDate;
    }

    public Date getProDate() 
    {
        return proDate;
    }
    public void setProType(String proType) 
    {
        this.proType = proType;
    }

    public String getProType() 
    {
        return proType;
    }
    public void setProDescription(String proDescription) 
    {
        this.proDescription = proDescription;
    }

    public String getProDescription() 
    {
        return proDescription;
    }
    public void setProStatus(String proStatus) 
    {
        this.proStatus = proStatus;
    }

    public String getProStatus() 
    {
        return proStatus;
    }

    public Object getCategory() {
        return category;
    }

    public void setCategory(Object category) {
        this.category = category;
    }

    public Object getRegion() {
        return region;
    }

    public void setRegion(Object region) {
        this.region = region;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("proId", getProId())
            .append("proName", getProName())
            .append("categoryId", getCategoryId())
            .append("proSn", getProSn())
            .append("customerId", getCustomerId())
            .append("regionId", getRegionId())
            .append("supplierId", getSupplierId())
            .append("orderId", getOrderId())
            .append("proNumber", getProNumber())
            .append("proPrice", getProPrice())
            .append("proWeight", getProWeight())
            .append("proSpec", getProSpec())
            .append("proDate", getProDate())
            .append("proType", getProType())
            .append("proDescription", getProDescription())
            .append("proStatus", getProStatus())
            .append("category", getCategory())
            .append("region", getRegion())
            .toString();
    }
}
